(function($){
	var TdW,TdH;
	var _Submit=function(_this){//提交操作
		var Text=$(this).val();//保存当前编辑框的内容
		var td=$(this).parent("td");//获取当前上级TD
		td.empty();//去掉编辑框
		td.html(Text);//保存到TD中去
		td.click(TdClick);//让TD重新拥有点击事件
	}
	var CreatElement=function(id,Text){//创建一个编辑框
		var _id=id.split('_');//分割字符
		switch(_id[2]){//根据类型生成编辑框字符
			case "text":
			case "password":
				str="<input>";
				break;
			case "textarea":
				str="<textarea>";
				break;
			case "select":
				str="<select>";
				break;
		}
		var Element=$(str);//生成编辑框
		switch(_id[2]){//根据类型对编辑框赋值
			case "text":
			case "password":
				Element.attr("type",_id[2]);
				Element.attr("value",Text);
				break;
			case "textarea":
				Element.html(Text);
				break;
		}
		return Element;//返回编辑框
	}
	var TdClick=function(){//单元格单击事件
		var td=$(this);//获取当前TD
		TdW=this.style.width||this.offsetWidth;
		TdH=this.style.height||this.offsetHeight;
		var tdText=td.text();//获取当前TD文本内容
		td.empty();//清空当前TD文本内容
		var Element=CreatElement(this.id,tdText);//新建一个编辑框
		td.append(Element);
		var ElementDom = Element.get(0);//将jquery对象转化为DOM对象
		TdW=parseInt(TdW)-3;
		TdH=parseInt(TdH)-4;
		Element.css({width:TdW+'px',height:TdH+'px'});
    	ElementDom.select();//将编辑框中的文本高亮选中
		td.unbind("click");//需要移除TD上的点击事件
		Element.focus();
		Element.blur(_Submit);
		Element.keyup(function(event){
        	//获取当前用户按下的键值
            //解决不同浏览器获得事件对象的差异,
            // IE用自动提供window.event，而其他浏览器必须显示的提供，即在方法参数中加上event
        	var myEvent = event || window.event;
         	var keyCode = myEvent.keyCode;
       		//判断是否是ESC键按下
        	if(keyCode == 27){
				//将Element编辑框的值还原成修改之前的值
				Element.val(tdText);
			};
			//判断是否是回车按下
			if(keyCode == 13){
				Element.blur();
			}
    	});
	}		
	$.fn.xtable = function(options){
		var defaults = {
			evenRowClass:"evenRow",
			oddRowClass:"oddRow",
			activeRowClass:"activeRow"			
		}//参数定义
		var options=$.extend(defaults, options);
		this.each(function(){
			$(this).find("td[edit!='false']").click(TdClick);
		});
		
	};
	
$(function(){$("table.xtable").xtable();})})(jQuery);